#pragma once

#include <d3d11.h>
#include <d3dx11.h>
#include <xnamath.h>
#include "../Shapes/aeMesh.h"

class D3DXDevice
{
public:
	D3DXDevice();
	~D3DXDevice();

	HRESULT					InitDevice( HWND hWnd );
	void					CleanupDevice();
	ID3D11Device*			GetDevice();
	ID3D11DeviceContext*	GetDeviceContext();
	IDXGISwapChain*			GetSwapChain();

	HRESULT					CreateVertexBuffer();

	D3D_DRIVER_TYPE			m_driverType;
	D3D_FEATURE_LEVEL		m_featureLevel;
	ID3D11Device*			m_pd3dDevice;
	ID3D11DeviceContext*	m_pImmediateContext;
	IDXGISwapChain*			m_pSwapChain;

	ID3D11Buffer*			m_pVertexBuffer;
};

